//
//  fundec.h
//  LTLBMC
//
//  Created by GD Huang on 5/17/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#ifndef LTLBMC_fundec_h
#define LTLBMC_fundec_h

#include <vector>
#include "varinfo.h"
#include "block.h"
#include "stmt.h"

namespace cilast {

    class varinfo;    
    class stmt;
    class block;    
    
    class fundec : public OCamlObject {
    public:
        varinfo* svar;
        std::vector<varinfo*> sformals;
        std::vector<varinfo*> slocals;
        int smaxid;
        
        block* sbody;
        int smaxstmtid;
        std::vector<stmt*> sallstmts;
        
    };
    
}
#endif
